(function($){

    //ajax加载
    $.fn.ajaxLoad=function(argu){
        var a=$(this),url='';
        var hash=true; // 加载后改变hash
        var loadingHTML='...';
        var fade=true;
        var onload=function(){};

        if(typeof argu == 'string'){
            url=argu;
            
        }else{
            url=argu.url;
            if(typeof argu.hash != 'undefined'){hash=argu.hash;}
            if(typeof argu.fade != 'undefined'){fade=argu.fade;}
            if(typeof argu.onload == 'function'){onload=argu.onload;}
        }

        if(fade){
            a.fadeOut('fast',function(){
                a.html(loadingHTML);
                doLoad(url);
            });
        }else{
            a.html(loadingHTML);
            doLoad(url); 
        }
        
        function doLoad(url){

            a.load(url,function (responseText, textStatus, XMLHttpRequest) {
                 if(responseText.indexOf('No input file') != -1){
                    a.html('加载失败@"'+url+'";');
                 }
                 if(a.html()==loadingHTML){
                    doLoad(url);
                    return;
                 }
                 a.fadeIn(function(){
                    $(onload);
                 });
            });

        }
    }
    
    $.ajaxPost = function(argu){

        $.ajax({
            url:argu.url,
            type:'post',
            timeout:'5000',
            async:true,
            cache:false,
            dataType:'json',
            data:argu.data,
            success:function(rs){
                argu.success(rs);
            },
            error:function(XMLHttpRequest, textStatus, errorThrown){
                // console.log(argu.ta.prop('outerHTML'));                
                if(typeof argu.error =='function'){
                    argu.error(XMLHttpRequest, textStatus, errorThrown);
                }else{
                    if(!G.debug){
                        alert('网络错误！请重试！');   
                    }
                    if(G.debug){
                        console.log(XMLHttpRequest.responseText);
                    }
                }

                if(typeof argu.ta != 'undefined'){
                    argu.ta.removeClass('_dis');
                    argu.ta.removeAttr('disabled');
                    if(typeof argu.ta.attr('data-text') != 'undefined' && argu.ta.attr('data-text')!='' ){
                        argu.ta.html(argu.ta.attr('data-text'));
                    }
                    
                }
                
            }

        });
    }



})(jQuery);
